LakeSoul 表生命周期自动维护和冗余数据自动清理
提示
该功能适用于 2.4.0 至2.6.0 版本。3.0 以上推荐使用异步清理服务
在数据仓库中,通常会需要设置表的数据的生命周期,从而达到节省空间,降低成本的目的。
另一方面,对于实时更新的表,还会存在冗余数据。冗余数据是指,每次执行 compaction 操作时,都会生成新的 compaction 文件,新 compaction 文件包含所有的历史数据,此时所有的历史 compaction 文件便可以视为冗余数据。
同时,对于一个在持续更新和 compaction 操作的表数据。如果用户只关心近期某个时间断的数据变更情况。此时用户可以选择清理某个 compaction 之前的所有数据,这样会保留一份全量数据并且支持用户从近期某个时间断增量读和快照读。
手工清理旧 compaction 数据
用户在执行 compactition 操作时,可以开启开关 cleanOldCompaction=true,清理旧compaction文件数据。默认为false。
LakeSoulTable.forPath(tablePath).compaction(true)
自动清理过期数据和冗余数据
用户可以配置下面两个表属性:
partition.ttl
表示分区过期时间,粒度(天)compaction.ttl
表示冗余数据过期时间,粒度(天)